package Day04;

public class Night04 {
    public static void main(String[] args) {
        //1 java跨平台

        //简单性 安全性 面向对象 高性能 解释性 分布式 健壮性 开源 跨平台
        //最大的优势 跨平台
           //一次编译 到处使用 靠JVM实现跨平台性
        //JVM
        // 不同系统有不同的JVM
        // .java文件变成.class字节码文件 交给JVM(Java虚拟机)来运行
        //JVM是Java运行的基础 负责将java的字节码文件转换成机器码(0011100100101)并执行
        //加载.class文件并运行

        //JRE Java运行环境
        //除了包含JVM以外还包含了类系统库(小零件)
           //java运行的最小的环境为JRE

        //JDK Java开发工具包
        //除了包含JRE外还包含java程序所必须的命令工具
           //JRE+编译,运行等命令工具

        //2 变量 (可变的量)

        //整数型
        //byte    1个字节   -2^7--2^7-1(-128--127)
        //short   2个字节   -2^15--2^15-1
        //int     4个字节
        //long    8个字节
        //浮点型
        //float   4个字节
        //double  8个字节
        //字符型
        //char    2个字节
        //布尔型
        //boolean 1个字节

        //三个元素描述变量  变量类型  变量名称  变量值
        //定义格式
        //1 int age=18;声明并赋值
        //2 int tel;
          //tel=114;先声明再给变量赋值

        //命名规范
        //1 只能包含字母 数字 _ $符 不能以数字开头
        //2 严格区分大小写 不能使用关键字
        //3 允许中文命名但不建议 建议用英文的见名知意
        //4 建议使用小驼峰命名法 大驼峰命名法只推荐在命名类的时候使用

        //3 运算符

        //算术运算符
        // + - * /
        // %(取余 只显示余数)
        //++/--(考点 a++ ++a的区别)
           //a++ 运算时先赋值后自增1
           //++a 运算时先自增1再赋值
        //关系运算符
        //>  <  >=  <=
        //==  !=
        //逻辑运算符
        //&逻辑与 &&短路与
        //|逻辑或 ||短路或
        //+字符连接符
        //!逻辑非 非真为假 非假为真
        //三目(三元)运算符
        //  ? :
        //a?b:c;a成立值为b 不成立为c
        //赋值运算符
        //= += -= *= /=

        //4 分支结构

        //if 单分支结构
        //if(boolean){
        //语句块
        //}

        //if...else 多分支结构
        //if(boolean){
        // 语句块1(Boolean成立)
        // }else{
        // 语句块2(Boolean不成立)
        // }

        //if...else if 多分支结构
        //if(boolean1){
        // 语句块1
        // }else if(boolean2){
        // 语句块2
        // }else{
        // 语句块3
        // }

        //switch...case 多分支结构
        //case是进行功能判断的
        //判断条件是以整型为准的
        //break;退出switch结构
        //default 默认分支 可以放在switch的case中的任意位置 不影响执行的先后顺序
           //有匹配的case先执行匹配的 都不匹配才用default 只有放在最后时不用加break
        //switch可以有一个default分支 一般在switch语句最后
        //变量类型可以是 byte short int char String 枚举
        //switch语句中可以有多个case
        //case后跟着一个用于判断的值 后加一个冒号
        //当变量的值与case语句相等时 开始执行case语句的内容 执行完之后看是否有break
           //如果有的话结束执行 若没有则进行无差别连续执行 直到遇到break或switch结束

        //5 循环

        //循环结构是指程序中需要反复执行某个功能而设置的程序结构
        //循环变量初始化 循环变量条件 循环变量的改变(向着结束方向)
        //for循环
        //for(变量的初始化(1);变量的条件(2);变量的改变(3)){
        // 循环体(4)
        // }
        //顺序1243243243243243...一定是2结束 判断为false 循环结束
        //求一百以内所有偶数的加和
        int S=0;
        for(int a=0;a>=0 && a<100;a+=2){
            S+=a;
        }
        System.out.println(S);//2450

        int sum=0;
        for (int num=1;num<100;num++){
            if (num%2==0){
                sum+=num;
            }
        }
        System.out.println(sum);//2450

        //求1到100所有整数的和(带进去看看就明白了 多带数)
        int Sum=0;
        for (int i=1;i<=100;i++){
            Sum+=i;
        }
        System.out.println(Sum);//5050























    }
}
